<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- == 相等
    === 全等
    != 不相等
    !== 不全等
    >=
    <=
    >
    < -->
    <script>
        // 比较运算符的特点(隐式转换)
        console.log(3>2);//true
        console.log("3">"2");//true
    </script>

    2.== !=
    ==比较的值是否相等和数据类型没有关系
    具有隐式转换的特点,(将其他的类型转换为数字进行比较)
    核心:比较数字
    <script>
        // console.log(3==3);//true
        // console.log(3=="3");//true
        // console.log("3"=="3");//true

        // console.log(true=="2");//false
        // console.log(true=="1");//true

        // console.log(" "==0);//true

        // 特殊情况除外******
        // console.log(null==undefined);//true
        // console.log(null==null);//true
        // console.log(undefined==undefined);//true

        // 除了上面这三种情况之外,null和undefined和其他的类型的值取比较结果都是false.

        // console.log(Number(null));//0
        // console.log(null==0);//false
        // console.log(null=="");//false

        // console.log(1 != 3);//true
    </script>

    3.=== 和 !==
    ===不仅比较值还比较类型
    <script>
        // console.log(5===5);//t
        // console.log(5==="5");//f
        // console.log(true===1);//false
        // console.log(true===true);//true
        // console.log(5!==5);//f
        // console.log(true!==1);//t
    </script>

    4.比较运算符的核心应用
    <script>
        // 字符串和数字比
        // apple和bannan比
        // ASCII码
        // 0-9 48-57
        // A-Z 65-90
        // a-z 97-122

        
        // 任何的字符串类型的数字和真正的数字去比较,转换为数字
        console.log("56">6);//true
        console.log('Apple'>'Banana');//false

        // 注意:任何值和NaN做比较,都是false
        console.log('123'>NaN);//false
        console.log(NaN==NaN);//false
    </script>
</body>
</html>